function days_last(lDays) {
    if (lDays == 0) return '';
    if (lDays == 1) return '1&nbsp;день';
    if (lDays == 2 || lDays == 3 || lDays == 4) return lDays+'&nbsp;дня';
    return lDays + '&nbsp;дней';
};

function hours_last(lHours) {
    if (lHours == 0) return '';
    if (lHours == 1) return '1&nbsp;час';
    if (lHours == 2 || lHours == 3 || lHours == 4) return lHours+'&nbsp;часа';
    if (lHours == 21) return lHours+'&nbsp;час';
    if (lHours == 22 || lHours == 23 || lHours == 24) return lHours+'&nbsp;часа';
    return lHours + '&nbsp;часов';
};

function minutes_last(lMinutes) {
    if (lMinutes==0) return 'ровно';
    if (lMinutes >= 5 && lMinutes <= 20) return lMinutes + '&nbsp;минут';
    var lMinutes_= lMinutes % 10
    if (lMinutes_ == 1) return lMinutes + '&nbsp;минута';
    if (lMinutes_ == 2 || lMinutes_ == 3 || lMinutes_ == 4) return lMinutes + '&nbsp;минуты';
    return lMinutes + '&nbsp;минут';
};

banner_mode = 0;
static_banner_html = undefined;

function start_tsn_timer() {
    if (document.getElementById('timerBanner') && !static_banner_html) {
        static_banner_html = document.getElementById('timerBanner').innerHTML;
    };
    if (!static_banner_html) return;

    if (banner_mode == 0) {
        document.getElementById('timerBanner').innerHTML = static_banner_html;
        banner_mode = 1;
        return;
    };

    currDate = new Date(); //узнаем текущую дату
    TZOffset = -1 * (currDate.getTimezoneOffset() + 4*60); // сдвиг в минутах от московского времени
    //вычисляем сколько минут должно пройти с начала недели до ТСН по местному времени
    var TSNMinutes = 4 * 24 * 60 + 21 * 60 + TZOffset; //с поправкой на часовой пояс
    var WeekMinutes = 7 * 24 * 60; //минут в неделе
    var weekDay = currDate.getDay(); //порядковый номер дня недели
    var hours = currDate.getHours(); //час
    var minutes = currDate.getMinutes(); //минута

    var CurrMinutes = weekDay*24*60 + hours*60 + minutes; //сколько у нас прошло минут с начала недели
    var delta = TSNMinutes - CurrMinutes; //разница в минутах
    if (delta > 0) {
        dMinutes = delta // Сколько минут до очередного выпуска ТСН
    }
    else {
        dMinutes = delta + WeekMinutes; //если ТСН на этой неделе уже прошел
    };
    
    var lDays = Math.floor(dMinutes/(24*60)) //осталось дней
    var lHours = Math.floor((dMinutes - lDays*24*60)/60); //осталось часов
    var lMinutes = dMinutes - lDays*24*60 - lHours*60; //осталось минут

    // сколько дней, часов и минут с падежами
    var dayStr = days_last(lDays);
    var hourStr = hours_last(lHours);
    var minStr = minutes_last(lMinutes);

    //начинаем составлять результат
    var result = '';
    if (dayStr != '') result+=dayStr+', ';
    if (hourStr != '') result+=hourStr+', ';
    result += minStr;
    result += ' до прямого эфира';

    //если эфир уже идет, результат должен быть другой
    if (delta < 0 && delta >= -120) {
        result='<a href="http://www.tmradio.net/live/">Прямой эфир</a> еще идет!';
        if (delta >= -60) result='<a href="http://www.tmradio.net/live/">Прямой эфир</a> прямо сейчас!';
    };

    //заносим результат на баннер
    document.getElementById('timerBanner').innerHTML = result;
    //меняем режим
    bannerMode = 1;
};

//стартуем периодическую смену баннера
timerUpdate=window.setInterval(start_tsn_timer, 5000)

